package com.ml.mall.consts;

import java.util.List;

/**
 * Created by kyyang on 2021/1/6 18:31
 */
public class CommonConsts {
    public static final String CURRENCY_RMB = "RMB";
    //IPAY88
    public static final String MERCHANTKEY = "8SdRBe3TcE";
    public static final String MERCHANTCODE = "M05152";

    //购物车前缀
    public static final String SHOPPING_CART_KEY = "SHOPPING_CART_";
    public static final String SHOPPING_CART_COUPON_KEY = "SHOPPING_CART_";

    //redis比对前缀
    public static final String COMPARISON_KEY = "COMPARISON_";

    //sysUserCompanyRelation前缀
    public static final String USER_COMPANY_RELATION_KEY = "USER_COMPANY_RELATION_";

    //订单号及订单类型 redis key
    public static final String ORDER_TYPE_REDIS_KEY = "ORDER_NOS_TYPE_SET";

    //订单类型
    public static final Integer PAY_ORDER_TYPE_REGIST = 0;
    public static final Integer PAY_ORDER_TYPE_ORDER = 1;

    //账号默认"aaa"
    public static final String USERKEY = "aaa";

    public static final Integer NEED_PAY = 1;

    public static final int MAX_REPORT_DIFF_DAYS = 93;

    //买家
    public static final String PURCHASE_COMPANY = "1";

    //卖家
    public static final String SUPPLIER_COMPANY = "2";



    /*============================下面变量已经在正常使用============================*/
    //用户前缀
    public static final String USER_REDIS_KEY = "LOGIN_USER_:";
    public static final String DEFAULT_PWD = "abc123456";
    /**
     *  角色类型；订单类型；经销商类型 统一使用该部分
     *  1:管理员 2:合作伙伴 3:卖家 4:买家
     */
    public static final Integer ROLE_TYPE_ADMIN = 1;
    public static final Integer ROLE_TYPE_PARTNER = 2;
    public static final Integer ROLE_TYPE_SUPPLIER = 3;
    public static final Integer ROLE_TYPE_PURCHASE = 4;
    /**
     * 路由角色类型 0 全部角色
     */
    public static final Integer ROLE_TYPE_ALL = 0;

    /**
     *  删除：0：不删除 1：删除
     *  状态：0：正常 1：不正常
     *  地址类型：0：账单信息；1：收货信息
     *  公司状态：0申请；1通过；2禁用
     *  是否加法操作：0：减法  1：加法
     */
    public static final Integer FIXED_NUM_ZERO = 0;
    public static final Integer FIXED_NUM_ONE = 1;
    public static final Integer FIXED_NUM_TWO = 2;

    /**
     * 公司状常量
     * */
    public static final Integer STATE_PENDING = 0;
    public static final Integer STATE_NORMAL = 1;
    public static final Integer STATE_FORBI = 2;
    public static final Integer STATE_REFUSE = 3;

    /*3：供货商；4：进货商 ：2；合作商*/
    /**
     * 公司类型常量
     * */
    public static final Integer COMPANY_TYPE_PARTNER = 2;
    public static final Integer COMPANY_TYPE_BUYER = 3;
    public static final Integer COMPANY_TYPE_SUPPLIER = 4;


    //最大失效日期 2099-12-31 00:00:00
    public static final Long MAX_EXPIRY_TIME =4102329600000L;

    //推荐最多的数量
    public static final Integer VARIANT_RECOMEND_NUM = 18;


    //优惠券类型枚举
    public static final Integer COUPPON_TYPE_SYSTERM  = 1;   //系统优惠券
    public static final Integer COUPPON_TYPE_POSTAGE  = 2;   //包邮优惠券
    public static final Integer COUPPON_TYPE_SUPPLIER = 3;   //卖家优惠券
    public static final Integer COUPPON_TYPE_PRODUCT  = 4;   //产品优惠券

    public static final Integer COUPPON_CLASS_FIX     = 0;   //产品优惠券：固定值
    public static final Integer COUPPON_CLASS_PERCEN  = 1;   //产品优惠券：固定值

    //加减枚举
    public static final Integer IS_REDUCE  = 0;
    public static final Integer IS_ADD  = 1;

    //感兴趣的产业 1000 是其他；
    public static final Long INDUSTRY_OTHER  = 1000L;

    //公司账单地址类型
    public static final Integer COMPANY_ADDR_TYPE_BILL = 0;
    public static final Integer COMPANY_ADDR_TYPE_SHOP = 1;

    //通知类型
    public static final Integer NOTIFICATION_TYPE_ALL = 0;
    public static final Integer NOTIFICATION_TYPE_COMPANY = 1;
    public static final Integer NOTIFICATION_TYPE_ADMIN = 2;

    //用户状态
    public static final Integer USER_STATE_OK = 0;//正常
    public static final Integer USER_STATE_FORBID = 1;//被禁用

    //公司信息等级
    public static final Integer COMPANY_INFO_LEVEL_WITHOUT_BASE = 1;
    public static final Integer COMPANY_INFO_LEVEL_WITHOUT_LOGISTICS = 2;
    public static final Integer COMPANY_INFO_LEVEL_WITHOUT_PRODUCTS = 3;
    public static final Integer COMPANY_INFO_LEVEL_COMPLETE = 4;

    //公司信息是否通过验证
    public static final Integer COMPANY_INFO_IS_NOT_VERIFIED = 0; // 未通过
    public static final Integer COMPANY_INFO_IS_VERIFIED = 1; // 已通过

    //订单状态
    public static final Integer ORDER_STATE_PENDING = 0;//待支付
    public static final Integer ORDER_STATE_PAID = 1;//完成付款
    public static final Integer ORDER_STATE_COMPLETE = 2;//完成订单

    //权限类型
    public static final Integer PERMISSION_TYPE_OF_MENU = 1;//菜单
    public static final Integer PERMISSION_TYPE_OF_PERMISSION = 2;//权限

    //角色类型数组
    public static final String[] ROLE_TYPE_ARRAY = new String[]{"Admin", "Partner", "Supplier", "Purchaser"};

    //Ipay88支付状态
    public static final String IPAY88_PAYMENT_SUCCESSFUL = "1"; //支付成功
    public static final String IPAY88_PAYMENT_FAILED = "0"; //支付失败
    public static final String IPAY88_PAYMENT_PADDING = "6"; //待支付

    //电商模式
    public static final Integer GATEWAY_TYPE_B2B = 0;
    public static final Integer GATEWAY_TYPE_B2C = 1;

    //订单记录支付状态
    public static final Integer PAYMENT_RECORD_STATE_FAILED = 0;
    public static final Integer PAYMENT_RECORD_STATE_SUCCESS = 1;
    public static final Integer PAYMENT_RECORD_STATE_PENDING = 2;
    public static final Integer PAYMENT_RECORD_STATE_EXPIRED = 3;

    //产品状态
    public static final Integer PROJECT_STATE_PADDING = 0;
    public static final Integer PROJECT_STATE_ACTIVE = 1;
    public static final Integer PROJECT_STATE_SUSPEND = 2;
    public static final Integer PROJECT_STATE_REJECT = 3;

    //备注类型
    public static final Integer REMARK_TYPE_ORDER_REMARK = 1;
    public static final Integer REMARK_TYPE_COMPANY_REFUSE_RECORD = 2;

    //卖家承担
    public static final Integer BARED_BY_SYSTEM = 0;
    public static final Integer BARED_BY_SUPPLIER = 1;
}
